Repairing Conflicts among MVCC Transactions
نویسندگان
چکیده
The optimistic variants of MVCC (Multi-Version Concurrency Control) avoid blocking concurrent transactions at the cost of having a validation phase. Upon failure in the validation phase, the transaction is usually aborted and restarted from scratch. The “abort and restart” approach becomes a performance bottleneck for the use cases with high contention objects or long running transactions. In addition, restarting from scratch creates a negative feedback loop in the system, because the system incurs additional overhead that may create even further conflicts. In this paper, we propose a novel approach for conflict resolution in MVCC for in-memory databases. This low overhead approach summarizes the transaction programs in the form of a dependency graph. The dependency graph also contains the constructs used in the validation phase of the MVCC algorithm. Then, in the case of encountering conflicts among transactions, the conflict locations in the program are quickly detected, and the conflicting transactions are partially re-executed. This approach maximizes the reuse of the computations done in the initial execution round, and increases the transaction processing throughput.
منابع مشابه
Analysis of Real-Time Multi version Concurrency Control Algorithms using Serialisability Graphs
57 ABSTRACT This paper analyses the correctness of Multiversion Concurrency Control(MVCC) algorithms that are commonly deployed in Realtime Databases. Database systems for real-time applications must satisfy timing constraints associated with transactions. Typically, a timing constraint is expressed in the form of a deadline and is represented as a priority to be used by schedulers. MVCC Algori...
متن کاملAn Empirical Evaluation of In-Memory Multi-Version Concurrency Control
Multi-version concurrency control (MVCC) is currently the most popular transaction management scheme in modern database management systems (DBMSs). Although MVCC was discovered in the late 1970s, it is used in almost every major relational DBMS released in the last decade. Maintaining multiple versions of data potentially increases parallelism without sacrificing serializability when processing...
متن کاملAccelerating Analytical Processing in MVCC using Fine-Granular High-Frequency Virtual Snapshotting
Efficient transactional management is a delicate task. As systems face transactions of inherently different types, ranging from point updates to long running analytical computations, it is hard to satisfy their individual requirements with a single processing component. Unfortunately, most systems nowadays rely on such a single component that implements its parallelism using multi-version concu...
متن کاملMultivariate cross-classification: applying machine learning techniques to characterize abstraction in neural representations
Here we highlight an emerging trend in the use of machine learning classifiers to test for abstraction across patterns of neural activity. When a classifier algorithm is trained on data from one cognitive context, and tested on data from another, conclusions can be drawn about the role of a given brain region in representing information that abstracts across those cognitive contexts. We call th...
متن کاملRELSTM: A Proactive Transactional Memory Scheduler
A major impediment to achieving high performance in transactional memory is repeated aborts due to conflicts among transactions. Transaction scheduling mitigates these effects by delaying a transaction until possible conflicting transactions have completed. The paper presents RELSTM, a new transaction scheduler that attempts to predict future conflicts on the basis of second-hop conflicts, name...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1603.00542 شماره
صفحات -
تاریخ انتشار 2016